home *** CD-ROM | disk | FTP | other *** search
- /* glx.h */
-
- /*
- * Mesa 3-D graphics library
- * Version: 1.2
- * Copyright (C) 1995 Brian Paul (brianp@ssec.wisc.edu)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
- /*
- $Id: glx.h,v 1.7 1995/05/22 17:03:21 brianp Exp $
-
- $Log: glx.h,v $
- * Revision 1.7 1995/05/22 17:03:21 brianp
- * Release 1.2
- *
- * Revision 1.6 1995/04/28 20:04:36 brianp
- * rename GLX_BAD_ATTRIB to GLX_BAD_ATTRIBUTE
- *
- * Revision 1.5 1995/04/17 14:42:00 brianp
- * added GLX version 1.1 functions and symbols
- *
- * Revision 1.4 1995/04/05 18:29:41 brianp
- * added GLX error constants
- *
- * Revision 1.3 1995/03/04 19:45:47 brianp
- * 1.1 beta revision
- *
- * Revision 1.2 1995/02/28 21:22:39 brianp
- * fixed a typo
- *
- * Revision 1.1 1995/02/28 21:21:03 brianp
- * Initial revision
- *
- */
-
-
- #ifndef GLX_H
- #define GLX_H
-
-
- /*
- * A pseudo-GLX implementation to allow GLX-based OpenGL programs to
- * work with Mesa.
- * Initial version contributed by Philip Brown (philb@CSUA.Berkeley.EDU).
- */
-
-
-
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
- #include "GL/xmesa.h"
-
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- #define GLX_VERSION_1_1 1
-
-
- /*
- * Tokens for glXChooseVisual and glXGetConfig:
- */
- enum _GLX_CONFIGS {
- GLX_USE_GL = 1,
- GLX_BUFFER_SIZE,
- GLX_LEVEL,
- GLX_RGBA,
- GLX_DOUBLEBUFFER,
- GLX_STEREO,
- GLX_AUX_BUFFERS,
- GLX_RED_SIZE,
- GLX_GREEN_SIZE,
- GLX_BLUE_SIZE,
- GLX_ALPHA_SIZE,
- GLX_DEPTH_SIZE,
- GLX_STENCIL_SIZE,
- GLX_ACCUM_RED_SIZE,
- GLX_ACCUM_GREEN_SIZE,
- GLX_ACCUM_BLUE_SIZE,
- GLX_ACCUM_ALPHA_SIZE,
- GLX_SAMPLES_SGIS, /* SGI extension */
- GLX_SAMPLE_BUFFER_SGIS /* SGI extension */
- };
-
-
- /*
- * Error codes returned by glXGetConfig:
- */
- #define GLX_BAD_ATTRIBUTE 1
- #define GLX_BAD_CONTEXT 2
- #define GLX_BAD_ENUM 3
- #define GLX_BAD_SCREEN 4
- #define GLX_BAD_VALUE 5
- #define GLX_BAD_VISUAL 6
- #define GLX_NO_EXTENSION 7
-
-
-
- /*
- * New in GLX 1.1:
- */
- #define GLX_EXTENSIONS 1
- #define GLX_VENDOR 2
- #define GLX_VERSION 3
-
-
-
- typedef XMesaContext GLXContext;
-
- typedef Pixmap GLXPixmap;
-
- typedef Drawable GLXDrawable;
-
-
-
- extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
- int *attribList );
-
- extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
- GLXContext shareList, Bool direct );
-
-
- extern void glXDestroyContext( Display *dpy, GLXContext ctx );
-
-
- extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable,
- GLXContext ctx);
-
-
- extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
- GLuint mask );
-
-
- extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
-
-
- extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
- Pixmap pixmap );
-
-
- extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
-
-
- extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event );
-
-
- extern Bool glXQueryVersion( Display *dpy, int *maj, int *min );
-
-
- extern Bool glXIsDirect( Display *dpy, GLXContext ctx );
-
-
- extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
- int attrib, int *value );
-
-
- extern GLXContext glXGetCurrentContext( void );
-
-
- extern GLXDrawable glXGetCurrentDrawable( void );
-
-
- extern void glXWaitGL( void );
-
-
- extern void glXWaitX( void );
-
-
- extern void glXUseXFont( Font font, int first, int count, int list );
-
-
- /* New in GLX version 1.1 */
- extern const char *glXQueryExtensionsString( Display *dpy, int screen );
-
- extern const char *glXQueryServerString( Display *dpy, int screen, int name );
-
- extern const char *glXGetClientString( Display *dpy, int name );
-
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-